﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Emgu.CV.Features2D;
using System.Drawing;
using Emgu.CV;
using Emgu.CV.Structure;

namespace iMapa.Backend.Calibration
{
    class CalibrationRequest
    {
        private volatile List<MapCalibrateRequest> mapRequests;
        private volatile Image<Bgr, Byte> frame;
        
        internal List<MapCalibrateRequest> MapRequests
        {
            get { return mapRequests; }
            set { mapRequests = value; }
        }

        public Image<Bgr, Byte> Frame
        {
            get { return frame; }
            set { frame = value; }
        }
    }

    internal class MapCalibrateRequest{
        private volatile int mapID;
        private volatile SURFFeature[] modelFeatures;
        private int modelImageWidth;
        private int modelImageHeight;
        public int MapID
        {
            get { return mapID; }
            set { mapID = value; }
        }
        public SURFFeature[] ModelFeatures
        {
            get { return modelFeatures; }
            set { modelFeatures = value; }
        }
        public int ModelImageWidth
        {
            get { return modelImageWidth; }
            set { modelImageWidth = value; }
        }
        public int ModelImageHeight
        {
            get { return modelImageHeight; }
            set { modelImageHeight = value; }
        }
    }
}
